ナビゲーション:前へ 上へ 次へ
11.9 更新されたIEEE算術機能
-
[7.0]
モジュール
IEEE_ARITHMETICには、新しい関数IEEE_NEXT_DOWNとIEEE_NEXT_UPが含まれます。 これらは単一の引数を持つ要素であり、IEEE種別のREALである必要があります(つまり、IEEE_SUPPORT_DATATYPEはその種別のREALに対して.TRUE.を返す必要があります)。 これらは、引数と等しくない次のIEEE値を、それぞれ下方向と上方向に関して返します。 ただし、−∞からの次の下方向は−∞自体であり、+∞からの上方向は+∞自体です。 これらの関数は、引数がシグナリングNaN(この場合はIEEE_INVALIDがシグナリングされる)でない限り、 例外を通知しないという点で、古いIEEE_NEXT_AFTER関数よりも優れています。たとえば、
IEEE_NEXT_UP(-0.0)とIEEE_NEXT_UP(+0.0)はどちらも、IEEE_UNDERFLOWを通知せずに、最小の正の非正規値を返します(非正規値がサポートされている場合(IEEE_NEXT_AFTERはこれをサポートする))。同様に、
IEEE_NEXT_UP(HUGE(0.0))は、シグナリングオーバーフローなしで+∞を返します。 -
[7.0]
モジュール
IEEE_ARITHMETICには、新しい名前付き定数IEEE_NEGATIVE_SUBNORMAL、IEEE_POSITIVE_SUBNORMAL、および新しい関数IEEE_SUPPORT_SUBNORMALが含まれます。 これらはFortran2018からのものであり、2008年のIEEE算術標準の用語の変更を反映しています。 これらは、古い関数IEEE_NEGATIVE_DENORMAL、IEEE_POSITIVE_DENORMAL、およびIEEE_SUPPORT_DENORMALと同等です。 -
[7.0]
IEEE_GET_FLAGおよびIEEE_SET_FLAGに対するFLAG_VALUE引数、IEEE_GET_HALTING_MODEおよびIEEE_SET_HALTING_MODEに対するHALTING引数、IEEE_GET_UNDERFLOW_MODEおよびIEEE_SET_UNDERFLOW_MODEGRADUALに対する基本種別のLOGICALはそれぞれ必須ではなくなり、あらゆる種別のLOGICALが許可されるようになりました。例)
USE F90_KIND USE IEEE_ARITHMETIC LOGICAL(byte) flags(SIZE(IEEE_ALL)) CALL IEEE_GET_FLAG(IEEE_ALL,flags)上記は現在のIEEEフラグを1バイトのLOGICALの配列に格納します。
